import type { VNode } from "vue";


export interface MessageProps {
  message?: string | VNode;// 弹出框内容
  duration?:number;// 持续时间
  showClose?:boolean;// 是否要显示对应的按钮（控制开闭的按钮）
  type?:'warning' | 'success' | 'info' | 'error';
  onDestroy:()=>void;
  gapOffset?:number;
  id:number;// 用于标识 组件 的编号
  zIndex:number;
}

// 过滤必填属性
export type CreateMessageProps = Omit<MessageProps,'onDestroy' | 'id' |'zIndex'>

// 每一个组件项（组件信息）
export interface MessageContext{
  id:number,
  vnode:VNode,
  props:MessageProps,
  manualDelete:()=>void,
}